/**
 * 3
 *  
 * @Author : roryrywang
 * @DateTime : 2024/8/23 18:49
 */

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     *
     * @param nums int整型vector
     * @param m int整型
     * @return long长整型
     */
    long long min_value(vector<int> &nums, int m) {
        long long res = 0;
        int maxValue = nums[0];
        int minValue = nums[0];
        for (int i = 1; i < nums.size(); ++i) {
            res += abs(nums[i] - nums[i - 1]);
            minValue = min(minValue, nums[i]);
            maxValue = max(maxValue, nums[i]);
        }
        res += minValue - 1;
        res += max(0, m - maxValue);
        return res;
    }
};

int main() {

    return 0;
}